﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Sistema.Dominio;
using System.IO;
using Sistema.WF.Componentes.Properties;


namespace Sistema.WF.Componentes.UserControls
{
    public partial class R2Login : UserControl
    {
        public R2Login()
        {
            InitializeComponent();
        }
        private void R2Login_Load(object sender, EventArgs e)
        {
            CMB_perguntaSecreta.Items.AddRange(Enum.GetNames(typeof(enumPerguntaSecreta)));

        }
        #region Get's and Set's
        public LoginVO Login
        {
            get{return RecolheDadosTela();}
            set { CarregaDadosTela(value); }
        }

        private LoginVO RecolheDadosTela()
        {
            LoginVO retorno = new LoginVO();

            retorno.Login = TXT_login.Text;
            retorno.Senha = TXT_senha.Text;
            retorno.PerguntaSecreta = CMB_perguntaSecreta.Text;
            retorno.RespostaSecreta = TXT_respostaSecreta.Text;

            return retorno;
            
        }

        private void PreencheCombo()
        {
            List<String> lista = new List<String>();

            lista.Add("Aniversário da mãe");
            lista.Add("Melhor amigo de infância");
            lista.Add("Nome do primeiro animal de estimação");
            lista.Add("Professor favorito");
            lista.Add("Personagem histórico favorito");
            lista.Add("Profissão do avô");

            //CMB_perguntaSecreta.DataSource = lista;
        }

        private void CarregaDadosTela(LoginVO value)
        {
            TXT_login.Text = value.Login;
            TXT_senha.Text = value.Senha;
            //CMB_perguntaSecreta.Text = value.PerguntaSecreta;
            CMB_perguntaSecreta.Items.Add(value.PerguntaSecreta);
            CMB_perguntaSecreta.SelectedIndex = 0;
            TXT_respostaSecreta.Text = value.RespostaSecreta;

        }

        private void ConfirmarSenha()
        {
            if (TXT_confirmarSenha.Text == TXT_senha.Text)
            {
                errorProviderLogin.Icon = new Icon(Resources.sim, 16, 16);
                errorProviderLogin.SetError(TXT_confirmarSenha, "");
            }
            else
            {
                errorProviderLogin.Icon = new Icon(Resources.nao, 16, 16);
                errorProviderLogin.SetError(TXT_confirmarSenha, "O conteúdo do campo deve ser igual ao conteúdo do campo Senha.");
            }
        }

        public void LimparCampos()
        {
            TXT_login.Clear();
            TXT_senha.Clear();
            CMB_perguntaSecreta.Text = "";
            TXT_respostaSecreta.Clear();
        }
        #endregion

        #region validation
        private void txt_confirmarSenha_Leave(object sender, EventArgs e)
        {
            ConfirmarSenha();
        }
        #endregion
    }
}
